#include <stdio.h>
#include <math.h>

int divide(int dividend, int divisor) {
  long long d1 = dividend;
  long long r = 0;
  bool sign = false;

  if (d1 < 0) {
    d1 = abs(d1);
    sign = !sign;
  }
  if (divisor < 0) {
    divisor = abs(divisor);
    sign = !sign;
  }

  switch (divisor)
  {
  case 1:
    r = d1;
    break;
  case 2:
    r = d1 >> 1;
    break;
  case 4:
    r = d1 >> 2;
    break;
  default:
    for (;;) {
      int a = d1 - divisor;
      if (a >= 0) {
        r++;
        d1 = a;
      } else {
        break;
      }
    }
  }

  r = sign ? -r : r;
  if (r >= 2147483648) {
    return 2147483647;
  } else if (r <= -2147483647) {
    return -2147483648;
  } else {
    return r;
  }
}

int main () {
  int r = divide(100, 2);
  printf("%d \n", r);
}